<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/9/21 0021
 * Time: 上午 10:51
 */
namespace app\message\controller;
use app\common\api\message\IMessage;
use app\message\validate\Vali_mes;
use app\message\validate\ValidateFun;

class Message implements IMessage{
    //配置参数
    private $data=[];

    /**
     * 初始化参数
     * Message constructor.
     * @param array $config
     */
    public function __construct(array $config = [])
    {
        $this->data = array_filter_full(array_merge($this->data,$config));
    }

    /**
     * 添加留言
     */
    public function mes_add(){
        $session = session('admin_info');
        $default = [
            'uid'           => $session['id'],
            'createtime'    => date('Y-m-d H:i:s'),
            'updatetime'    => date('Y-m-d H:i:s'),
            'del'           => 1
        ];
        $data = array_filter_full(array_merge($default,$this->data));
        unset($data['id']);
        #验证参数
        $vali = Vali_mes::mes_add();
        $validate = new ValidateFun($vali['rule'],$vali['message']);
        if (!$validate->check($data)){
            $err = $validate->getError();
            return ['code'=>$err,'msg'=>config("msg.$err")];
        }
        #添加数据
        $add =new \app\message\model\Message();
        $res = $add->say_add($data);
        #返回数据
        if ($res>0){
            return ['code'=>200,'msg'=>config('msg.200')];
        }else{
            return ['code'=>10006,'msg'=>config('msg.10006')];
        }
    }

    /**
     * 修改留言
     */
    public function mes_update(){
        $data = $this->data;
        #验证参数
        $vali = Vali_mes::mes_edit();
        $validate = new ValidateFun($vali['rule'],$vali['message']);
        if (!$validate->check($data)){
            $err = $validate->getError();
            return ['code'=>$err,'msg'=>config("msg.$err")];
        }
        #更新
        $edit = new \app\message\model\Message();
        $res=$edit->say_update($data);
        #返回结果
        if ($res>0){
            return ['code'=>200,'msg'=>config('msg.200')];
        }else{
            return ['code'=>10007,'msg'=>config('msg.10007')];
        }
    }

    /**
     * 留言列表
     */
    public function mes_list(){
        $default=[
            'curr'  =>1,
            'limits'=>5,
        ];
        $data = array_filter_full(array_merge($default,$this->data));

        #获取列表
        $list = new \app\message\model\Message();
        $reult = $list->say_list($data);

        #返回结果
        return ['code'=>200,'msg'=>config('msg.200'),'data'=>$reult];
    }

    /**
     * 个人留言列表
     * @return array
     */
    public function mes_list_info(){
        $session = session('admin_info');
        $default = [
            'uid' =>$session['id'],
            'curr'=>1,
            'limits'=>5
        ];
        $data = array_filter_full(array_merge($default,$this->data));

        #获取列表
        $list = new \app\message\model\Message();
        $reult = $list->say_list_info($data);

        #返回结果
        return ['code'=>200,'msg'=>config('msg.200'),'data'=>$reult];
        /*
         * butcher	n. 屠夫,刽子手,肉商,小贩 vt. 屠宰,滥杀,将某事弄得一团糟
            thrive	vi. 兴旺,繁荣
            prime	adj. 最初的,首要的,最好的，典型的 n. 青春,壮年,全盛时期 vt. 事先指点,在（金属、木材等上）打底漆 vi. 变得首要
            rebellion	n. 谋反, 叛乱, 反抗
            reverse	n. 相反; 背面; 失败, 挫折 adj. 反面的, 相反的, 颠倒的 v. 颠倒, 逆转, 倒退
            divide	vt.& vi.分； 划分； 分离； （使）产生分歧 n.分水岭，分界线； 分配
            toy	n. 玩具,小玩意儿 adj. 供玩耍的,体型小的 vi. 漫不经心地做,戏弄
            setting	n.镶嵌； 环境； 装置； （某事、戏剧、小说等的）背景 v.放( set的现在分词)； 安插； 树立； 安排
            spin	n. 旋转, 疾驰 v. 纺织, 旋转, 拉长
            letter	n.信； 证书，许可证； 字母，文字； 字面意义 vt.用字母标明； 写字母于； 加标题 vi.写印刷体字母
            certify	vt. 证明,保证,证实,颁发证书
            tough	adj. 强硬的, 艰苦的, 棘手的, 严厉的 adv. 以强硬的态度 n. 暴徒; 恶棍
            miracle	n. 奇迹
            control	n. 克制,控制,管制,操作装置 vt. 控制,掌管,支配
            commodity	n. 商品, 日用品
            realm	n. 王国,领域
            compulsory	adj. 被强制的,强迫的,义务的
            lid	n. 盖
            ethnic	adj. 民族的，种族的，有民族特色的 n. 少数民族的一员
            operational	adj. 操作的, 运作的
         */
    }
}